/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Common;

import java.rmi.RemoteException;
import java.util.Vector;

/**
 *
 * @author Mario,Thomas,Max,Martin,Sergio
 */
public interface IBackupServer {

//    /**
//     * Synchronisiert alle Server innerhalb der SPREAD Gruppe über SPREAD.
//     * @param data
//     * @throws Exception
//     */
//    public void syncGroup(Object[] data) throws RemoteException;

    /**
     * With this Method joins the Server the overgiven SPREAD Group
     * @param groupName
     * @return
     * @throws IllegalArgumentException
     */
    public Boolean JoinGroup(String groupName) throws IllegalArgumentException, RemoteException ;


    /*
     * Forces a Synchronisation of the Clients of the current Game
     */
    public void forceSync(Vector<IClient> data) throws RemoteException;

    /**
     * Sets the State of the Server to Idle and then the Server do his background work.
     */
    public void Idle() throws RemoteException;
}
